#ifndef __BUILDER1_HPP__
#define __BUILDER1_HPP__

#include "abstract_builder.hpp"

class Builder1: public AbstractBuilder {
public:
	Builder1() { cout<<__func__<<endl; m_product = new Product(); }
	~Builder1() { cout<<__func__<<endl; }
	void buildCoolDish(const string &name) { m_product->add(name, 10); }
	void buildDrink(const string &name) { m_product->add(name, 11); }
	void buildRice(const string &name) { m_product->add(name, 12); }
	Product *getProduct() { return m_product; }
private:
	Product *m_product;
};

#endif /* end of include guard */
